Websydian v6.1 online documentationOnline documentation - WebsydianExpress v3.5

ExtWebEditSuiteBP

Scoped name

WSYEXTJS/ExtWebEditSuiteBP

Note that this abstract function is placed in the WSYEXTJS model.

Purpose

The ExtWebEditSuiteBP is a business process containing the base maintenance functionality for an entity.

This edit suite will function in an Ext JS for WebsydianExpress environment.

The first page that is loaded is a grid page showing the records in the entity. This page has functionality that allows the user to specify the first record to show in the grid. The grid will automatically fetch more data as the user scrolls down.

The grid page contains an Insert detail button that opens a modal pop-up window allowing creation of further records.

The page also contains Update, View, and Delete grid buttons. Each of these opens a modal pop-up window and loads the corresponding page when pressed.

The maintenance functionality includes validation based on the Plex definitions.

This function suite is meant for situations, where you can't let the entity you want to maintain inherit from ExtWebEditDialog (e.g. if the entities are defined in a model that does not have the WSYEXTJS model as a library model).

Usage

You must start by creating a function that inherits from ExtWebEditSuiteBP:

Source Object Verb Target Object
MyEditSuite is a FNC WSYEXTJS/ExtWebEditSuiteBP

This provides you with the Plex objects providing the maintenance functionality. To specify the entity you want to maintain, you must replace the views used by the different functions.

Replace the UIBasic.Grid view with the view that should define the order of the records on the grid page. Replace the UIBasic.Delete, UIBasic.Update, UIBasic.Insert views with the Update view from your entity. Replace the UIBasic.Detail view with the Fetch view of your entity:

Source Object Verb Target Object
MyEditSuite replaces VW

...by VW

UIBasic.Grid

MyEntity.MySortView

MyEditSuite

 

replaces VW

...by VW

UIBasic.Insert

MyEntity.Update

MyEditSuite

 

replaces VW

...by VW

UIBasic.Update

MyEntity.Update

MyEditSuite

 

replaces VW

...by VW

UIBasic.Delete

MyEntity.Update

MyEditSuite

 

replaces VW

...by VW

UIBasic.Detail

MyEntity.Fetch

The next part you must do is to replace the abstract BlockFetch function used to populate the grid.

The BlockFetch function must inherit from either DataAccessRRN.Fetch.BlockFetchRRNWrapper or from RRNEntityRelationalTable.Fetch.WsyStatelessBlockFetchRRN.

These functions support the positioning used by the grid UI component used in the WebsydianExpress Ext JS framework.

The BlockFetchRRNWrapper can be used to make your own existing BlockFetch behave as expected by the WebsydianExpress Ext JS framework.

The WsyStatelessBlockFetch is an extended version of the standard StatelessBlockFetch function.

Unless you already have an existing BlockFetch you want to use for retrieving the grid data, we recommend that you use a function inheriting from the WsyStatelessBlockFetchRRN function.

To add a WsyStatelessBlockFetchRRN function to the sort view and to replace with this function, you must do the following:

Source Object Verb Target Object
MyEntity.MySortView function FNC MyBlockFetchRRN
MyEntity.MySortView.MyBlockFetchRRN is a FNC WSYBASE/RRNEntityRelationaltable.Fetch.

WsyStatelessBlockFetchRRN

MyEntity.MySortView.MyBlockFetchRRN replaces VW

...by VW

WSYBASE/RRNEntityRelationaltable.Fetch

MyEntity.MySortView

 

MyEditSuite replaces FNC

...by FNC

UIBasic.Grid.BlockFetch

MyEntity.MySortView.MyBlockFetchRRN

Special considerations

Another way to get an edit suite is to let your entity inherit for ExtWebEditDialog instead.